package com.example.demo02.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author 徐嘉立
 * @since 2024-03-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TcDiscount implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 优惠项id
     */
    @TableId(value = "discount_ruleid", type = IdType.INPUT)
    private Integer discountRuleid;

    /**
     * 运营单位id
     */
    private Integer optunitid;

    /**
     * 停车场id，以英文","隔开
     */
    private String parkpotid;

    /**
     * 商家id
     */
    private String shopid;

    /**
     * 优惠项名称
     */
    private String discountName;

    /**
     * 优惠类型（0金额 1时长(暂无) 2次数 3折扣优惠 4 时段优惠）
     */
    private String discountType;

    /**
     * 场景类型，0岗亭优惠，1纸质券，2电子券（纸质券仅支持使用有效期，1/3/4）
     */
    private String sceneType;

    /**
     * 结算类型  0定价型，1结算型，2补贴型
     */
    private String settlementType;

    /**
     * 优惠券定价 单位：分
     */
    private Integer discountPrice;

    /**
     * （备用）封顶类型 0先封顶再优惠  1先优惠再封顶（discounttype为0/3时有值）
     */
    private String maxfeeType;

    /**
     * （备用）时长类型 0扣减前时段  1扣减后时段 （discounttype为1时有值）
     */
    private String discountTimeType;

    /**
     * 发放有效期类型 0长期有效  1指定日期  2指定时长  3配发周期  4配发周期止
     */
    private String grantValidType;

    /**
     * 发放有效期指定时长，单位天（grant_valid_type=2时有效）
     */
    private Integer grantValidCycle;

    /**
     * 发放有效期开始时间（grant_valid_type=1时有效，可为空）
     */
    private Date grantValidStartdate;

    /**
     * 发放有效期结束时间（grant_valid_type=1时有效，不可为空）
     */
    private Date grantValidEnddate;

    /**
     * 使用有效期类型 0长期有效  1指定日期  2指定时长  3配发周期  4配发周期止
     */
    private String useValidType;

    /**
     * 使用有效期指定时长，单位天（use_valid_type=2时有效）
     */
    private Integer useValidCycle;

    /**
     * 使用有效期开始时间（use_valid_type=1时有效，可为空）
     */
    private Date useValidStartdate;

    /**
     * 使用有效期结束时间（use_valid_type=1时有效，不可为空）
     */
    private Date useValidEnddate;

    /**
     * 使用时段限制 0全时段  1指定时段
     */
    private String usePeriodType;

    /**
     * 使用时段开始时间
     */
    private String usePeriodStarttime;

    /**
     * 使用时段结束时间
     */
    private String usePeriodEndtime;

    /**
     * 生效状态  0未生效，1已生效  默认0
     */
    private String enableState;

    /**
     * 删除状态  0未删除，1已删除  默认0
     */
    private String deleteFlag;

    /**
     * 创建日期
     */
    private Date createTime;

    /**
     * 创建人员
     */
    private String createOperatorid;

    /**
     * 更新日期
     */
    private Date updateTime;

    /**
     * 更新人员
     */
    private String updateOperatorid;

    /**
     * 优惠券标题
     */
    private String title;

    /**
     * 0通用券  1路内通用券 2停车场通用券    3路内专区通用券   5单停车场券（选择停车场） 6全局选择券（暂不实现）7商家停车券 8车牌券  9专区停车场券（选择运营单位） 10住宿次券 11 储值次券
     */
    private String discountKind;

    /**
     * 满使金额（满多少金额有优惠 0无限制）当金额时单位为分
     */
    private Integer fullCutAmount;

    /**
     * 抵用金额(分) 如果是时长券就是单位分钟
     */
    private Integer amount;

    /**
     * 发放总数（-1不限制张数）
     */
    private Integer dailyBudget;

    /**
     * 已发放数量
     */
    private Integer sendCount;

    /**
     * 每人最多领取张数（-1不限制张数）
     */
    private Integer maxNum;

    /**
     * 优惠券说明
     */
    private String discountInfo;

    /**
     * 可用停车场名称请填充
     */
    private String parkpotName;

    /**
     * 活动结束原因
     */
    private String reason;

    /**
     * 静态码
     */
    private String fixedCode;

    /**
     * 是否生成临时静态二维码（供车主直接领用） 1开启 0关闭
     */
    private String isStaticQrcode;

    /**
     * 订单id
     */
    private String orderid;

}
